The present embodiments relate to signal processing, and are more particularly directed to digital signal processing circuits, systems, and methods implementing approximations for a reciprocal.
Digital signal processing is prevalent in numerous types of contemporary technologies, and involves various types of devices, signals, and evaluations or operations. For example, devices involved in signal processing may include a general purpose digital signal processor (xe2x80x9cDSPxe2x80x9d), an application specific processor, (xe2x80x9cASPxe2x80x9d), an application specific integrated circuit (xe2x80x9cASICxe2x80x9d), a microprocessor, or still others. The types of processed signals may include various types of signals, where audio signals are a relevant example for reasons detailed below. Lastly, the operations on these signals may include numerous logic and arithmetic-type operations, where such operations may occur with a general purpose arithmetic logic unit or dedicated hardware/software included within the device performing the signal processing. The present embodiments arise within these considerations, as further explored below.
Given the various device types, signals, and operations involved in signal processing, it is recognized in connection with the present embodiments that the precision involved with some types of signal processing may be less than that required in other contexts. For example, the precision expected of a mathematical calculation performed by a hand held calculator or central processing unit may be considered to define a standard that is relatively high, while the precision required of some other signal processing may be lower than this high standard. One example where lower precision in signal processing may arise is in an audio signal processor or processing system. Such a system may perform various signal processes and ultimately output an audio signal to be played by a speaker or the like. However, since the human ear is forgiving of various signal fluctuations, then likewise the signal processing involved may have a lesser standard of precision than is required of the above-mentioned examples of a hand held calculator or central processing unit. Consequently, the present embodiments have particular application for this and other instances of signal processing that require less than exact signal evaluation.
By way of further background, it is noted that some contemporary digital processing systems implement relatively costly solutions to signal processing. For example, the present embodiments provide approximations to the functions of a reciprocal. Thus, where the present embodiments are not used, alternative systems may require sophisticated arithmetic logic units or the like to perform these functions. Such approaches may cause numerous problems, such as increasing device size, complexity, and consequently, device cost. Moreover, in some implementations these increases are simply unacceptable, in which case designs in their entirety may have to be discarded or, at a minimum, considerably altered given the overall system specifications.
In view of the above, there arises a need to address the drawbacks of prior systems which require complex implementations to determine reciprocal-related functions, and to provide efficient circuits, systems, and methods for determining an acceptable approximation for such functions.
In one embodiment there is a digital signal system for determining an approximate reciprocal of a value of x. The system includes circuitry for identifying a bounded region within which x falls. The bounded region is one of a plurality of bounded regions, and each bounded region has a corresponding slope value and first and second endpoints. The system further includes circuitry for determining the approximate reciprocal by determining an offset from a reciprocal value at one of the first and second endpoints by a measure equal to a distance of the value of x from the one of the first and second endpoints times the slope value corresponding to the bounded region within which x is identified as falling. In the system the value of x has a base b. Further, each of the plurality of bounded regions corresponds to a different value of an integer n and is bounded on a lower side by the first endpoint bn and on a higher side by the second endpoint bn+1. Finally, the circuitry for identifying a bounded region within which x falls determines the value of n. Other circuits, systems, and methods are also disclosed and claimed.